package com.trg.flex
{
	import com.trg.flex.remote.RemoteCall;
	import com.trg.flex.search.Search;
	
	import mx.rpc.IResponder;
	
	public interface IEntityDelegate
	{
		function fetch(className:String, id:Object) : RemoteCall;
		function fetchAll(className:String) : RemoteCall;
		function create(object:Object) : RemoteCall;
		function update(object:Object) : RemoteCall;
		function deleteEntity(object:Object) : RemoteCall;
		function deleteList(list:Array) : RemoteCall;
		function deleteById(className:String, id:Object) : RemoteCall;
		function search(search:Search) : RemoteCall;
		function count(search:Search) : RemoteCall;
		function searchAndCount(search:Search) : RemoteCall;
		function searchUnique(search:Search) : RemoteCall;
	}
}
